package controller.listeners.posprocessingFrg;


import model.PosProcessingForeignsModel;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;


import business.ViewLogger;
import view.PosProcessingForeignsView;
import view.ViewUtils;

/**
 * Controlador de pulsacion de teclas sobre la tabla de corps filtrados en cache
 * @author 53385255R
 *
 */
public class IDNOsKeyDownListener implements Listener {


	private PosProcessingForeignsView _view;
	private PosProcessingForeignsModel _model;
	
			/**
			 * @param view
			 * @param model
			 */
			public IDNOsKeyDownListener(PosProcessingForeignsView view,
					PosProcessingForeignsModel model) {
				this._model = model;
				this._view = view;
			}
			
			/**
			 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
			 */
			@Override
			public void handleEvent(Event event) {
			
				if (event.keyCode == SWT.DEL) {
					String idnoStr = _view.getSelectedIDNOTable();
					try {
					Integer idno = Integer.parseInt(idnoStr);
					_model.set_selected_idno(idno);
					if (ViewUtils.getInstance().confirmationMessage("BORRADO TOTAL!!!", "Se va a proceder a eliminar toda la información del idno de las tablas MA0, CO0, AU0 y RPs. ¿Está seguro?")) {
						_model.deleteIDNO();
						_view.setIDNOS(_model.get_idnos());
						_view.setRPs(_model.get_rps());
						_view.setCO0s(_model.get_co0s());
					}
					} catch (NumberFormatException numex) {
						ViewLogger.getInstance().error("Error en el numero de IDNO. El formato de numero no es correcto.");
					}
					
				
				} else if (((event.keyCode == 119) || (event.keyCode == 87)) && (event.stateMask == SWT.CTRL)) {
				
					_view.copyIDNO();
				} else if  (event.keyCode == SWT.F1) {
					
					String help = "\n\nACCIONES PARA EL POSTRATAMIENTO\n- Supr: Elimina toda la información del IDNO de MA0, CO0, AU0 y RPs";
					
					ViewUtils.getInstance().informationMessage("Ayuda tabla piods con todo extranjeros", help,true);
					ViewLogger.getInstance().info(help);
			
				}
			}

			
			
		
			
		}
